package com.teamin.config;

/**
 * 错误码
 *
 * @author 31484
 */
public enum ErrorCode {

    BAD_TOKEN(10000, "token失效"),
    BAD_ARGMENTTYPE(10001, "http请求参数类型错误"),
    METHOD_NOT_ALLOWED(10002, "不允许的http方法"),
    NOT_FOUND(10003, "请求资源不存在"),
    MISSING_PARAMETER(10004, "http请求缺少必须参数"),
    FIND_USERID_FAIL(10005, "获取登录用户userId失败"),
    WX_LOGIN_FAIL(10006, "微信登陆失败"),
    GET_WXUSER_FAIL(10007, "获取微信用户失败"),
    CHECK_PARAMETER_FALSE(10008, "参数校验失败"),
    DATA_FAIL(10009, "数据异常"),

    //圈子
    CREATE_CIRCLE_FAIL(20000, "创建圈子失败"),
    FIND_CIRCLE_FAIL(20001, "查询圈子失败"),
    FIND_CIRCLE_NULL(20002, "没有找到这个圈子"),
    UPDATE_CIRCLE_FAIL(20003, "更新圈子失败"),
    ADD_USER_TO_CIRCLE_FAIL(20004, "圈子添加用户失败"),
    CANNOT_ADD_OTHERS_TO_CIRCLE(20007, "只能把自己加入到圈子"),
    REMOVE_USER_FROM_CIRCLE_FAIL(20005, "圈子移除用户失败"),
    DELETE_CIRCLE_FAIL(20006, "删除圈子失败"),
    FIND_USER_FROM_CIRCLE_NULL(20008, "用户不在圈子中"),
    CANNOT_REMOVE_CREATER_F_CIRCLE(20009, "不能移除管理员"),
    CANNOT_REMOVE_OTHERS_F_CIRCLE(20010, "非管理员只能移除自己"),
    FORBIDDEN_VIEW_CIRCLE(20011, "没有权限查看圈子"),
    FORBIDDEN_UPDATE_CIRCLE(20012, "没有权限删除圈子"),
    FORBIDDEN_DELETE_CIRCLE(20013, "没有权限修改圈子"),
    FIND_ASSIGNER_FROM_CIRCLE_NULL(20014, "执行人不在圈子中"),
    RULE_CIRCLENAME(20015, "圈子名称不合法"),
    NEED_CIRCLE_ADMIN(20016, "需要圈子的创建者身份"),
    FORBID_SHARE(20017, "没有分享圈子的权限"),
    FORBID_INVITE(20018, "没有邀请圈子的权限"),
    CIRCLE_ERROR_TYPE(20019, "签名类型错误"),

    CIRCLE_DISMISS(20020, "圈子已被解散"),
    PERMISSION_UPDATE_USER(20021, "没有权限修改圈子中的用户"),
    PERMISSION_GROUPID_CIRCLE_USER(20022, "圈子没有绑定群"),
    BIND_GROUP_CIRCLE(20023, "没有权限绑定微信群"),
    CIRCLE_ERROR_SIGN_EXPRIE(20014, "签名过期"),

    CIRCLE_EXIST_LABEL(20101, "圈子是已存在此标签"),
    CIRCLE_NOT_EXIST_LABEL(20102, "圈子不存在此标签"),
    LABEL_NAME_IS_NULL(20103, "标签名不能为空"),
    CIRCLE_NOT_EXIST_TASK(20104, "任务不在圈子中"),

    //任务
    ADD_TASK_FAIL(30000, "添加任务失败"),
    ADD_TASK_TO_CIRCLE_FAIL(30001, "添加任务到圈子失败"),
    REMOVE_TASK_FROM_CIRCLE_FAIL(30002, "从圈子移除任务失败"),
    DELETE_TASK_FAIL(30003, "删除任务失败"),
    UPDATE_TASK_FAIL(30004, "更新任务失败"),
    FIND_TASK_FAIL(30005, "没有查到任务"),
    ADD_ATTEN_TO_TASK_FAIL(30006, "任务添加关注者失败"),
    REMOVE_ATTEN_FROM_TASK_FAIL(30007, "从任务移除关注者失败"),
    FIND_ATTEN_FAIL(30008, "查找关注者失败"),
    ADD_COMMENT_FAIL(30009, "添加评论失败"),
    FIND_COMMENT_NULL(30010, "评论不存在"),
    DELETE_COMMENT_FAIL(30011, "删除评论失败"),
    FORBIDDEN_DELETE_COMMENT(30012, "没有权限删除评论"),
    FORBIDDEN_VIEW_COMMENT(30016, "没有权限查看评论"),
    FORBIDDEN_ADD_COMMENT(30017, "没有权限添加评论"),
    FORBIDDEN_DELETE_TASK(30013, "没有权限删除任务"),
    FORBIDDEN_UPDATE_TASK(30014, "没有权限更新任务"),
    FORBIDDEN_VIEW_TASK(30015, "没有权限查看任务"),
    RULE_TASKNAME(30016, "任务名称不能超过200字"),
    RULE_TASKDESC(30017, "任务详情不能超过200字"),
    RULE_COMMENT(30018, "评论不能超过200字"),
    TASK_DELETED(30019, "任务已不存在"),
    TASK_EXIST_LABEL(30020, "任务已存在此标签"),
    TASK_NOT_EXIST_LABEL(30021, "任务不存在此标签"),
    TASK_ISDELETED(30022, "任务已被删除"),
    TASK_IS_SUB_TASK(30023, "父任务不能是子任务"),

    //用户
    UPDATE_USER_FAIL(40000, "更新用户失败"),
    FIND_USER_FAIL(40001, "查看用户失败"),
    FIND_USER_NULL(40003, "没有找到这个用户"),
    ADD_USER_FAIL(40002, "添加用户失败"),
    FORBIDDEN_UPDATE_USER(40004, "没有权限修改用户"),
    FORBIDDEN_ADD_USER(40005, "没有权限添加用户"),
    FORBIDDEN_VIEW_USER(40006, "没有权限查看用户"),
    FROM_ID_NOT_NULL(40007, "fromId 不能为空"),
    STATE_CODE_FAIL(40008, "扫描登陆状态码错误"),
    AUTH_CODE_FAIL(40009, "扫描登陆用户验证失败"),
    FIND_WXUSER_NULL(40010, "用户没有绑定过小程序"),

    //消息
    FIND_MESSAGE_FAIL(50000, "查询消息失败"),
    UPDATE_MESSAGE_READ_FAIL(50001, "设置消息已读失败"),
    FIND_MESSAGE_NULL(50002, "没有这条消息"),
    FORBIDDEN_UPDATE_MESSAGE(50003, "没有权限设置这条消息"),

    //微信群
    FIND_WXGROUP_NULL(60000, "没有这个微信群"),
    ADD_WXGROUP_FAIL(60001, "添加微信群失败"),
    LINK_WXGROUP_FAIL(60002, "关联微信群失败"),
    UNLINK_WXGROUP_FAIL(60003, "取消关联微信群失败"),
    UPDATE_WXGROUP_FAIL(60004, "更新微信群失败"),
    GET_WXGROUP_FAIL(60005, "获取微信群失败"),

    //文件
    FILE_NAME_ERROR(70001, "文件名字不符合规则"),
    FILE_MATCH_ERROR(70001, "文件不匹配"),

    UNFINISH_METHORD(99998, "未实现功能"),
    UNKNOWN_ERROR(99999, "未知错误"),

    //网盘
    FILE_NAME_EXIST(70000, "文件夹名称已存在"),
    UNAUTHORIZED(70001, "无权限操作文件");
    private final int code;

    private final String message;

    ErrorCode(int value, String message) {
        this.code = value;
        this.message = message;
    }

    /**
     * Return the integer value of this status code.
     */
    public int value() {
        return this.code;
    }

    /**
     * Return the reason phrase of this status code.
     */
    public String getMessage() {
        return this.message;
    }
}
